package com.example.shop_car_2208.utils

import android.content.Context
import android.widget.ImageView
import com.bumptech.glide.Glide
import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.bumptech.glide.load.resource.bitmap.CenterCrop
import com.bumptech.glide.load.resource.bitmap.CircleCrop
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
import com.example.shop_car_2208.R


/**
 * 图片工具类
 */
object GlideUtils {
    //加载图片
    /**
     * context:内存溢出，内存泄漏
     */
    fun loafImage(context:Context,imageView: ImageView,url:String){
        Glide.with(context)
            .load(url)
            .error(R.drawable.ic_launcher_background)//图片网址错误，会显示默认的小机器人
           // .placeholder(R.drawable.ic_launcher_background)//占位符，当图片还未加载出来时显示，图片加载出来后，显示正确图片
            .skipMemoryCache(true)//是否跳过缓存
            .diskCacheStrategy(DiskCacheStrategy.ALL)//缓存策略
            .thumbnail(0.1f)//缩略图
            .centerCrop()//居中
            .into(imageView)
    }

    /**
     * 圆形且居中
     */
    fun loafCircle(context:Context,imageView: ImageView,url:String){
        Glide.with(context)
            .load(url)
            .error(R.drawable.ic_launcher_background)//图片网址错误，会显示默认的小机器人
            //.placeholder(R.drawable.ic_launcher_background)//占位符，当图片还未加载出来时显示，图片加载出来后，显示正确图片
            .skipMemoryCache(true)//是否跳过缓存
            .diskCacheStrategy(DiskCacheStrategy.ALL)//缓存策略
            .thumbnail(0.1f)//缩略图
            .transform(CenterCrop(),CircleCrop())
            .into(imageView)
    }
    /**
     * 圆角
     */
    fun loafCorner(context:Context,imageView: ImageView,url:String,raduis:Int){
        Glide.with(context)
            .load(url)
            .error(R.drawable.ic_launcher_background)//图片网址错误，会显示默认的小机器人
          //  .placeholder(R.drawable.ic_launcher_background)//占位符，当图片还未加载出来时显示，图片加载出来后，显示正确图片
            .skipMemoryCache(true)//是否跳过缓存
            .diskCacheStrategy(DiskCacheStrategy.ALL)//缓存策略
            .thumbnail(0.1f)//缩略图
            .transform(CenterCrop(),RoundedCorners(raduis))
            .into(imageView)
    }
}